table of contents
GETSERVENT(3) | Linux Programmer's Manual | GETSERVENT(3) |
NAME¶
getservent, getservbyname, getservbyport, setservent, endservent - get service entry
SYNOPSIS¶
#include <netdb.h> struct servent *getservent(void); struct servent *getservbyname(const char *name, const char *proto); struct servent *getservbyport(int port, const char *proto); void setservent(int stayopen); void endservent(void);
DESCRIPTION¶
The getservent() function reads the next entry from the services database (see services(5)) and returns a servent structure containing the broken-out fields from the entry. A connection is opened to the database if necessary.
The getservbyname() function returns a servent structure for the entry from the database that matches the service name using protocol proto. If proto is NULL, any protocol will be matched. A connection is opened to the database if necessary.
The getservbyport() function returns a servent structure for the entry from the database that matches the port port (given in network byte order) using protocol proto. If proto is NULL, any protocol will be matched. A connection is opened to the database if necessary.
The setservent() function opens a connection to the database, and sets the next entry to the first entry. If stayopen is non-zero, then the connection to the database will not be closed between calls to one of the getserv*() functions.
The endservent() function closes the connection to the database.
The servent structure is defined in <netdb.h> as follows:
struct servent {
char *s_name; /* official service name */
char **s_aliases; /* alias list */
int s_port; /* port number */
char *s_proto; /* protocol to use */ }
The members of the servent structure are:
RETURN VALUE¶
The getservent(), getservbyname() and getservbyport() functions return a pointer to a statically allocated servent structure, or a NULL pointer if an error occurs or the end of the file is reached.
FILES¶
- /etc/services
- services database file
CONFORMING TO¶
4.3BSD, POSIX.1-2001.
SEE ALSO¶
COLOPHON¶
This page is part of release 3.22 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.
2008-08-19 | GNU |